import {PageQuery} from "@/model";

/**
 * 约起查询参数
 */
export interface AgreementQuery extends PageQuery{
    /**
     * 约起类型 (1约会 2活动 3赛事 4帮忙)
     */
    type: number;

    /**
     * 关键词
     */
    keyword?: string;

    /**
     * 约起状态 (1发出 2草稿 3完成 4过期 5取消)
     */
    status?: number;

    /**
     * 约会发出类型 (1广播 2指定)
     */
    issuingType?: number;
}

export interface Agreement {
    /**
     * 约起id
     */
    id: number;
    /**
     * 头像
     */
    avatar: string;
    /**
     * 发起者昵称
     */
    nickname: string;
    /**
     * 缩略图
     */
    cover: string;
    /**
     * 约起主题
     */
    title: string;
    /**
     * 浏览量
     */
    viewCount: number;
    /**
     * 点赞数
     */
    likeNumber: number;
    /**
     * 结束时间
     */
    timeStart: string;
    /**
     * 开始时间
     */
    timeEnd: string;
    /**
     * 状态 (1发出 2草稿 3完成 4过期 5取消)
     */
    status: number;

    /**
     * 人数
     */
    peopleNumber: number;

    /**
     * 发出类型 (1广播 2指定)
     */
    type: number;

    /**
     * 是否赌注 (0否 1是)
     */
    isWager:number;


}

/**
 * 发起者简介
 */
export interface UserIntro {
    /**
     * 用户id
     */
    id: number;
    /**
     * 用户头像
     */
    avatar: string;
    /**
     * 用户昵称
     */
    nickname: string;
    /**
     * 个人简介
     */
    intro: string;
}

/**
 * 约起表单
 */
export interface AgreementForm {
    /**
     * 约起id
     */
    id?: number;
    /**
     * 发起者id
     */
    userId: number;
    /**
     * 约起主题
     */
    title: string;
    /**
     * 约起内容
     */
    content: string;
    /**
     * 状态 (1发出 2草稿 3完成 4过期 5取消)
     */
    status: number;
    /**
     * 人数
     */
    peopleNumber?: number;
    /**
     * 开始时间
     */
    timeStart: string;
    /**
     * 结束时间
     */
    timeEnd: string;
    /**
     * 约起类型 (1约会 2活动 3赛事 4帮忙)
     */
    agreementType: number;
    /**
     * 约会应约者或赛事应战者ID
     */
    destinedUserId?: number;
    /**
     * 约起人员
     */
    userIntroList?: UserIntro[];
    /**
     * 发出类型 (1广播 2指定)
     */
    type?: number;
    /**
     * 是否赌注 (0否 1是)
     */
    isWager?: number;
    /**
     * 赌注内容
     */
    wagerContent?: string;
    /**
     * 报酬
     */
    reward?: string;
}

/**
 * 删除或编辑条件
 */
export interface SaveCondition {
    /**
     * 约起id
     */
    id: number;
    /**
     * 约起类型 (1约会 2活动 3赛事 4帮忙)
     */
    agreementType: number;
}
